define(['jquery','adminlte', 'bootstrap','bootstrap-table'], function ($, undefined) {
    var Table = {
        list: {},
        // Bootstrap-table 基础配置
        defaults: {
           pk: 'id',
        },
        // Bootstrap-table 列配置
        columnDefaults: {
            align:"center"
        },
        config: {
            toolbar: '.toolbar',
            delbtn: '.btn-del',
        },
        api: {
        	init:function(defaults, columnDefaults){
        		defaults = defaults ? defaults : {};
        		columnDefaults = columnDefaults ? columnDefaults :{};
        		// 写入bootstrap-table默认配置
                $.extend(true, $.fn.bootstrapTable.defaults, Table.defaults, defaults);
                // 写入bootstrap-table column配置
                $.extend($.fn.bootstrapTable.columnDefaults, Table.columnDefaults, columnDefaults);
        	},
        	//绑定事件
            bindevent: function (table) {
            	//Bootstrap-table的父元素,包含table,toolbar,pagnation
                var parenttable = table.closest('.bootstrap-table');
                //Bootstrap-table配置
                var options = table.bootstrapTable('getOptions');
                //Bootstrap操作区
                var toolbar = $(options.toolbar, parenttable);
                // 删除按钮事件
                $(toolbar).on('click', Table.config.delbtn, function () {
                    var that = this;
                    var ids = Table.api.selectedids(table);
                   	alert("删除"+ids);
                });
            	
            },
            // 单元格元素事件
            events: {
                operate: {
                    'click .glyphicon-remove': function (e, value, row, index) {
                        alert("第"+(index+1)+"行删除");
                    }
                }
            },
             // 单元格数据格式化
            formatter:{
	            operate:function(){
	            	var html='<i class="glyphicon glyphicon-remove"></i>';
					return html;
	            }
            },
            // 获取选中的条目ID集合
            selectedids: function (table) {
                var options = table.bootstrapTable('getOptions');
                return $.map(table.bootstrapTable('getSelections'), function (row,index) {
                    return row[options.pk];
                });
            },
        },
    };
    return Table;
});